added samples
[windows-sources.git] / sdk / samples / all in on code / Visual Studio 2008 / MFCCOMClient / MFCActiveXCtrlPage.cpp
blobb67ca86031c1db7862229620a7cce8c7bd49adb3
1 /****************************** Module Header ******************************\
2 * Module Name: MFCActiveXCtrlPage.cpp
3 * Project: MFCCOMClient
4 * Copyright (c) Microsoft Corporation.
5 *
6 *
7 *
8 * This source is subject to the Microsoft Public License.
9 * See http://www.microsoft.com/opensource/licenses.mspx#Ms-PL.
10 * All other rights reserved.
12 * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
13 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
15 \***************************************************************************/
17 #pragma region Includes
18 #include "stdafx.h"
19 #include "MFCCOMClient.h"
20 #include "MFCActiveXCtrlPage.h"
21 #pragma endregion
24 // CMFCActiveXCtrlPage dialog
26 IMPLEMENT_DYNAMIC(CMFCActiveXCtrlPage, CDialog)
28 CMFCActiveXCtrlPage::CMFCActiveXCtrlPage(CWnd* pParent /*=NULL*/)
29 : CDialog(CMFCActiveXCtrlPage::IDD, pParent)
30 , m_fEditFloatProperty(0)
34 CMFCActiveXCtrlPage::~CMFCActiveXCtrlPage()
38 void CMFCActiveXCtrlPage::DoDataExchange(CDataExchange* pDX)
40 CDialog::DoDataExchange(pDX);
41 DDX_Control(pDX, IDC_MFCACTIVEXCTRL, m_ocxActiveXCtrl);
42 DDX_Text(pDX, IDC_FLOATPROP_EDIT, m_fEditFloatProperty);
43 DDV_MinMaxFloat(pDX, m_fEditFloatProperty, -99999999.0F, 99999999.0F);
47 BEGIN_MESSAGE_MAP(CMFCActiveXCtrlPage, CDialog)
48 ON_BN_CLICKED(IDC_SETFLOATPROP_BN, &CMFCActiveXCtrlPage::OnBnClickedSetFloatPropBn)
49 ON_BN_CLICKED(IDC_GETFLOATPROP_BN, &CMFCActiveXCtrlPage::OnBnClickedGetFloatPropBn)
50 END_MESSAGE_MAP()
53 // CMFCActiveXCtrlPage message handlers
54 BEGIN_EVENTSINK_MAP(CMFCActiveXCtrlPage, CDialog)
55 ON_EVENT(CMFCActiveXCtrlPage, IDC_MFCACTIVEXCTRL, 1, CMFCActiveXCtrlPage::FloatPropertyChangingMFCActiveXCtrl, VTS_R4 VTS_PBOOL)
56 END_EVENTSINK_MAP()
59 void CMFCActiveXCtrlPage::FloatPropertyChangingMFCActiveXCtrl(
60 float NewValue, BOOL* Cancel)
62 CString strMessage;
63 strMessage.Format(_T("FloatProperty is being changed to %f"), NewValue);
65 // OK or cancel the change of FloatProperty
66 *Cancel = (IDCANCEL == MessageBox(strMessage,
67 _T("MFCActiveX!FloatPropertyChanging"), MB_OKCANCEL));
70 void CMFCActiveXCtrlPage::OnBnClickedSetFloatPropBn()
72 // Verify the value in the FloatProperty Edit control
73 if (UpdateData())
75 // Set FloatProperty to the ActiveX control
76 m_ocxActiveXCtrl.SetFloatProperty(m_fEditFloatProperty);
80 void CMFCActiveXCtrlPage::OnBnClickedGetFloatPropBn()
82 // Get FloatProperty from the ActiveX control
83 FLOAT fProp = m_ocxActiveXCtrl.GetFloatProperty();
85 CString strMessage;
86 strMessage.Format(_T("FloatProperty equals %f"), fProp);
88 MessageBox(strMessage, _T("MFCActiveX!FloatProperty"));